Skip to content

Python: Change note for new points-to implementation.#1425

Merged
felicitymay merged 2 commits into
github:masterfrom
markshannon:python-points-to-change-note
Jun 10, 2019
Merged

Python: Change note for new points-to implementation.#1425
felicitymay merged 2 commits into
github:masterfrom
markshannon:python-points-to-change-note

Conversation

@markshannon

Copy link
Copy Markdown
Contributor

The missing change note for #1277 and subsequent related PRs.

@felicitymay felicitymay left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. It's great to have more information about the changes in 1.21. A couple of questions and some suggestions.


* Non-local tracking of bound methods and instances of `super()`
* Superior analysis of conditionals and thus improved reachability analysis.
* Superior modelling of descriptors, for example, classmethods and staticmethods.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modelling -> modeling

Are "classmethods" and "staticmethods" code elements, or should they each be two words?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are code elements

Comment thread change-notes/1.21/analysis-python.md Outdated

### Impact on existing queries.

As points-to underpins many queries and provides the call-graph and reachability analysis required for taint-tracking, many queries will have additional results and some may have fewer results.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest: "As points-to analysis underpins many queries, and provides the call-graph and reachability analysis required for taint-tracking, the results of many queries will change.

Comment thread change-notes/1.21/analysis-python.md Outdated

As points-to underpins many queries and provides the call-graph and reachability analysis required for taint-tracking, many queries will have additional results and some may have fewer results.

New results are a result of the improved reachability analysis and non-local tracking of bound-methods.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid using "result" in two different senses, perhaps: "The improved reachability analysis and non-local tracking of bound methods will identify new results."?

Comment thread change-notes/1.21/analysis-python.md Outdated

New results are a result of the improved reachability analysis and non-local tracking of bound-methods.
Removed results are a result of more precise tracking of values through `*` arguments.
The expectation is that number of true positives will increase and the number of false negatives will decline.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps: "Overall the number of true positive results should increase and the number false negative results should decline. " ?

Comment thread change-notes/1.21/analysis-python.md Outdated
New results are a result of the improved reachability analysis and non-local tracking of bound-methods.
Removed results are a result of more precise tracking of values through `*` arguments.
The expectation is that number of true positives will increase and the number of false negatives will decline.
However, this is new code and may still contain errors.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are we trying to say here? That the API will be developed further, that it's a preliminary version, that we haven't tested it, that we welcome feedback on it...?

@markshannon

Copy link
Copy Markdown
Contributor Author

@felicity-semmle I've addressed your comments. I've used "may" rather than "will" throughout, as we can't find more results that aren't there to be found, nor fix false positives that don't exist.

@felicitymay felicitymay left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes. All LGTM now.

@felicitymay felicitymay merged commit 18443e3 into github:master Jun 10, 2019
felicitymay pushed a commit that referenced this pull request Jun 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants